草庐IT

html - 在 HTML 5 2d Canvas 上下文中查找曲线上的点

全部标签

ruby-on-rails - 如何使用 Nokogiri 解析 HTML 表格?

我正在尝试解析一个表,但我不知道如何从中保存数据。我想将每一行中的数据保存为:['Rawname1',2,094,0,017,0,098,0,113,0,452]示例表是:html=TablenameColumnname1Columnname2Columnname3Columnname4Columnname5Rawname12,0940,0170,0980,1130,452...Rawname52,0940,0170,0980,1130,452EOT我的爬虫代码是:doc=Nokogiri::HTML(open(html),nil,'UTF-8')tables=doc.css('div

ruby - Jekyll - 生成 JSON 文件和 HTML 文件

我想让Jekyll为每个页面和帖子创建一个HTML文件和一个JSON文件。这是为了提供我的Jekyll博客的JSONAPI——例如可以在/posts/2012/01/01/my-post.html或/posts/2012/01/01/my-post.json访问帖子有谁知道是否有Jekyll插件,或者我将如何开始编写这样的插件来并排生成两组文件? 最佳答案 我也在寻找类似的东西,所以我学习了一些ruby​​并制作了一个脚本来生成Jekyll博客文章的JSON表示。我仍在努力,但大部分都在那里。我将其与Gruntjs、Sass、Bac

ruby - 嵌套单例类方法查找

首先,我知道这个问题在现实世界中没有应用,我只是好奇。假设我们有一个带有单例方法的类:classFoodefself.barendend如果我们调用Foo.bar,它会首先在Foo的每个祖先的单例类中搜索一个方法,然后在被引用的类中查找.class方法及其祖先。我们可以用Foo.singleton_class.ancestors确认,它返回:[#,#,#,Class,Module,Object,Kernel,BasicObject]但是如果我们有一个嵌套的单例类会发生什么,比如:classFooclass如果我们调用Foo.singleton_class.singleton_class

ruby-on-rails - 如何在 Rails 上查找数据库迁移日志?

我想使用STEP参数将我的数据库回滚到Rails上的某个版本,但我不知道我应该回滚多少步,所以我想检查迁移日志。我可以在Rails(v3.2.13)上这样做吗? 最佳答案 尝试以下操作:rakedb:migrate:status它将为您提供以下输出,up表示迁移已运行,down尚未运行:StatusMigrationIDMigrationName--------------------------------------------------up20120328154345Devisecreateusersup2012033118

ruby-on-rails - Rails ActiveRecord 创建或查找

我正在开发Rails4应用程序,在我的api发布方法中,我想根据用户尝试创建的内容查找记录,如果不存在,则创建它,如果确实更新了它具有的参数。我写了一些代码来实际执行此操作,但执行起来需要一些时间。有没有其他方法可以用更少的代码或查询来做同样的事情。@picture=current_picture.posts.where(post_id:params[:id]).first_or_initialize@picture.update_attributes(active:true,badge:parameters[:badge],identifier:parameters[:identif

ruby - 使用 bsearch 查找用于将新元素插入排序数组的索引

我有一个已排序的唯一数组,我想高效地向其中插入一个不在数组中的元素,如下所示:a=[1,2,4,5,6]new_elm=3insert_at=a.bsearch_index{|x|x>new_elm}#=>2a.insert(insert_at,new_elm)#nowa=[1,2,3,4,5,6]方法bsearch_index不存在:只有bsearch,它返回匹配元素而不是匹配元素的索引。是否有任何内置方法可以实现此目的? 最佳答案 您可以使用each_with_index返回的Enumerator对象返回一个嵌套的[value,

ruby - 将 HTML 转换为纯文本(包含 <br>s)

是否可以使用Nokogiri将HTML转换为纯文本?我还想包括标签。例如,给定这个HTML:alamakotaikottoidiota我想要这个输出:alamakotaikottoidiota当我调用Nokogiri::HTML(my_html).text它不包括标签:alamakotaikottoidiota 最佳答案 我没有编写复杂的正则表达式,而是使用了Nokogiri。工作解决方案(K.I.S.S!):defstrip_html(str)document=Nokogiri::HTML.parse(str)document.c

ruby - 使用 Mechanize 读取本地 HTML 文件

我正在构建一个爬虫,我知道如何使用ruby​​mechanize使用以下代码从网上读取页面:require'mechanize'agent=Mechanize.newagent.get"http://google.com"但是我可以使用Mechanize从文件系统中读取HTML文件吗?怎么办? 最佳答案 仅使用file://协议(protocol)对我来说效果很好:html_dir=File.dirname(__FILE__)page=agent.get("file:///#{html_dir}/example-file.html"

ruby - 我如何使用 .html.erb 作为 Sinatra View 的文件扩展名?

如果我有以下Sinatra代码:get'/hi'doerb:helloend如果我有一个名为views/hello.erb的文件,这会很好用。但是,如果我有一个名为views/hello.html.erb的文件,Sinatra找不到该文件并给我一个错误。我如何告诉Sinatra我希望它查找.html.erb作为有效的.erb扩展名? 最佳答案 Sinatra使用Tilt呈现其模板,并将扩展与其相关联。您所要做的就是告诉Tilt它应该使用ERB来呈现该扩展:Tilt.registerTilt::ERBTemplate,'html.er

ruby - Ruby 方法能否作为迭代器产生或根据上下文返回数组?

我在Ruby中有一个任意方法可以产生多个值,因此可以将其传递给一个block:defarbitraryyield1yield2yield3yield4endarbitrary{|x|putsx}我想修改此方法,以便在没有block的情况下,它仅将值作为数组返回。所以这个构造也可以工作:myarray=arbitrarypa----->[1,2,3,4,5]这在Ruby中可行吗? 最佳答案 defarbitraryvalues=[1,2,3,4]returnvaluesunlessblock_given?values.each{|va